/* 测试 try ... catch 语句 */


console.log('begin');

try {
    // 直接使用尚未声明的变量会触发 ReferenceError
    // 遭遇特殊情况，会创建一个 ReferenceError对象，并将其交给"运行时系统"
    console.log(username);

    // "运行时系统"寻找到后续存在 catch 代码，所以将 ReferenceError对象 传递给 catch 代码块处理
} catch (e) {
    // e.name 用于获得 异常的名称
    // e.message 用于获取 异常的原因
    console.log(e.name, e.message);
}

console.log('end'); // 这行代码会继续执行